Compiler and Runtime Approach for Supporting Efficient Execution of Coarray Fortran Programs

نویسندگان

  • Deepak Eachempati
  • Lei Huang
  • Terrence Liao
  • Dounia Khaldi
چکیده

Fortran remains a very widely used programming language for technical computing. Fortran coarrays are new elements in the Fortran standard which aim to support the development of parallel programs without requiring the use of external constructs such as libraries (e.g. MPI) or directives (e.g. OpenMP). Coarrays provide a Partitioned Global Address Space (PGAS) approach to parallel programming in which the programmer declares arrays to be partitioned across different images that collaboratively perform the computations. However, to date coarrays are not widely used in commercial code since a robust implementation has only been available on Cray platforms. As a result, there has been relatively little experience with coarrays, reporting of performance data, and a clear lack of portability. The work described in this dissertation aims to make a fundamental contribution to the state of the art of parallel programming by providing a robust, open-source implementation of the coarray features in the Fortran standard. It describes an efficient, near-commercial strength implementation technology for coarrays which we developed. An evaluation of this implementation using developed micro-benchmarks is presented, where we show in particular the benefits of our approach for supporting strided communication, synchronization, and collectives compared to other coarray implementations. When running developed benchmarks and codes from real-world applications, we obtained performance with our coarray implementation on par or exceeding that obtained using other implementations. We also present support for additional features expected to be added to the Fortran standard, demonstrating its utility for writing and improving the performance of a range of codes. Finally, we describe an extension for parallel I/O in coarray programs which we designed.

برای دانلود رایگان متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

GASP: A Performance Analysis Tool Interface for Global Address Space Programming Models

Due to the wide range of compilers and the lack of a standardized performance tool interface, writers of performance tools face many challenges when incorporating support for global address space (GAS) programming models such as Unified Parallel C (UPC), Titanium, and Co-Array Fortran (CAF). This document presents a Global Address Space Performance tool interface (GASP) that is flexible enough ...

متن کامل

Hybrid Coarrays: a PGAS Feature for Many-Core Architectures

Accelerators such as NVIDIA GPUs and Intel MICs are currently provided as co-processor devices, usable only through a CPU host. For Intel MICs it is planned that this constraint will be lifted in the near future: CPU and accelerator(s) will then form a single, many-core, processor capable of peak performance of several Teraflops with high energy efficiency. In order to exploit the available com...

متن کامل

LLVM Optimizations for PGAS Programs Case study: LLVMWide Pointer Optimizations in Chapel

PGAS programming languages such as Chapel, Coarray Fortran, Habanero-C, UPC and X10 [3–6, 8] support high-level and highly productive programming models for large-scale parallelism. Unlike messagepassing models such as MPI, which introduce nontrivial complexity due to message passing semantics, PGAS languages simplify distributed parallel programming by introducing higher level parallel languag...

متن کامل

A technological review of the FORTRAN I compiler

The FORTRAN I compiler functions and organizations are described and shown to form the basis for many of the techniques used in modern compilers. A Technological Review of the FORTRAN I Compiler 807

متن کامل

A Compiler Driven Execution Model for Irregular Applications

Current parallelizing compiler technology does not handle irregular applications effectively. Approaches in the past have either focused on specific irregular applications to generate good code, or relied on fall-back generic techniques that are less efficient. This work proposes a compiler-driven approach that makes use of a novel runtime execution model for a cluster of computers. The model c...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2015